home *** CD-ROM | disk | FTP | other *** search
/ EnigmA Amiga Run 1997 July / EnigmA AMIGA RUN 20 (1997)(G.R. Edizioni)(IT)[!][issue 1997-07 & 08][EAR-CD IV].iso / earcd / mus / play / splibdev.lha / superplay-lib_DEV / Programmers / include / spobjects / spobjectbase.h next >
C/C++ Source or Header  |  1997-04-03  |  2KB  |  75 lines

  1. /*
  2. **      $VER: spobjectbase.h 5.1 (8.8.96)
  3. **
  4. **      SPObjectBase definition for V3+
  5. **
  6. **      (C) Copyright 1994-96 Andreas R. Kleinert
  7. **      All Rights Reserved.
  8. */
  9.  
  10. #ifndef SPOBJECTS_SPOBJECTBASE_H
  11. #define SPOBJECTS_SPOBJECTBASE_H
  12.  
  13. #ifndef SPOBJECTS_SPOBJECTS_H
  14. #include <spobjects/spobjects.h>
  15. #endif /* SPOBJECTS_SPOBJECTS_H */
  16.  
  17. #ifndef EXEC_LISTS
  18. #include <exec/lists.h>
  19. #endif /* EXEC_LISTS */
  20.  
  21. #ifndef EXEC_LIBRARIES
  22. #include <exec/libraries.h>
  23. #endif /* EXEC_LIBRARIES_H */
  24.  
  25.    /* An external support-library for the superplay.library is called a
  26.       "spobject".
  27.       Each spobject has to contain a "SPO_ObjectNode" structure (as follows)
  28.       in its Library-Header, which later will be READ and MODIFIED by
  29.       the superplay.library.
  30.       Because the superplay.library supports three different sorts
  31.       of SPObjects at the time (internal, independent and external),
  32.       there are three different types of this structure (might be more in
  33.       the future), which can be identified via their "spo_ObjectType".
  34.    */
  35.  
  36.    /* The Construction of a spobject :
  37.       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  38.  
  39.       The Library Base
  40.       ----------------
  41.       Version information: only the revision can be set freely
  42.       (see structure described below)
  43.  
  44.       The Function Table
  45.       ------------------
  46.       (see <pragmas/spobjects.h>)
  47.  
  48.    */
  49.  
  50. /* *************************************************** */
  51. /* *                             * */
  52. /* * Library base Definition for spobjects         * */
  53. /* *                             * */
  54. /* *************************************************** */
  55.  
  56. struct SPObjectBase
  57. {
  58.  struct Library         spb_LibNode;       /* Exec LibNode                   */
  59.  struct SPO_ObjectNode *spb_SPObject;      /* POINTER to initialized         */
  60.                                            /* SPO_ObjectNode                 */
  61.                                            /* Must be AllocVec()'ed, will be */
  62.                                            /* modified and delocated by      */
  63.                                            /* superplay.library later.       */
  64.  
  65.  ULONG            spb_Reserved [32]; /* Reserved for future expansion. */
  66.                        /* Always NULL yet (Version 1).   */
  67.  
  68.  /*
  69.    Private data of the spobject, not to be accessed
  70.    by superplay.library, may follow.
  71.  */
  72. };
  73.  
  74. #endif /* SPOBJECTS_SPOBJECTBASE_H */
  75.